C++ Overloading Operators Using Member Functions